class Solution:
def canReach(self, arr: List[int], start: int) -> bool:
visited = {}
def trav(point):
if point in visited:
return False
if point <0:
return False
if point > len(arr)-1:
return False
visited[point] = True
if arr[point] == 0:
return True
return trav(point+arr[point]) or trav(point - arr[point])
return trav(start)
174. Dungeon Game | 127. Word Ladder |
123. Best Time to Buy and Sell Stock III | 85. Maximal Rectangle |
84. Largest Rectangle in Histogram | 60. Permutation Sequence |
42. Trapping Rain Water | 32. Longest Valid Parentheses |
Cutting a material | Bubble Sort |
Number of triangles | AND path in a binary tree |
Factorial equations | Removal of vertices |
Happy segments | Cyclic shifts |
Zoos | Build a graph |
Almost correct bracket sequence | Count of integers |
Differences of the permutations | Doctor's Secret |
Back to School | I am Easy |
Teddy and Tweety | Partitioning binary strings |
Special sets | Smallest chosen word |
Going to office | Color the boxes |